perm filename TVTAKE.SAI[SYS,BGB]1 blob
sn#016018 filedate 1972-12-08 generic text, type T, neo UTF8
00100 BEGIN "TVTAKE"
00200 REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00300 REQUIRE "TIMER[SYS,BGB]" SOURCE_FILE;
00400 INTERNAL INTEGER XSAMPLE,YLINE,WIDTH,BUFCNT,CAMNUM;
00500 EXTERNAL PROCEDURE TV;
00600 INTERNAL INTEGER ARRAY TVBUF[1:10368];
00700
00800 PROCEDURE TVTAKE(INTEGER X,Y,DX,DY);
00900 BEGIN
01000 XSAMPLE ← X - 144;
01100 YLINE ← Y - 108;
01200 WIDTH ← 32;
01300 BUFCNT ← 3*DY*WIDTH;
01400 BEGIN
01500 INTERNAL INTEGER ARRAY BUF0,BUF2,BUF4,BUF6[1:6912];
01600 TV;
01700 END;
01800 END;
01900 INTEGER X,Y,FLG;
02000 INTEGER ARRAY HEADER[0:9];
02100 STRING STR;
02200 X ← 172;
02300 Y ← 128;
02400 WHILE TRUE DO
02500 BEGIN "FOREVER"
02600 DO BEGIN
02700 OUTSTR(" FILE = ");
02800 STR ← INCHWL;
02900 IF LENGTH(STR)=1 ∧ "0"≤STR ∧ STR≤"3" THEN
03000 BEGIN CAMNUM ← ((STR LAND 3) LSH 9);STR←"";END;
03100 IF LENGTH(STR)=0 THEN
03200 OUTSTR(9&"CAMERA NUMBER IS NOW = "&CVS(CAMNUM LSH -9)&↓);
03300 END UNTIL LENGTH(STR)≥1 ∧ "A"≤STR ∧ STR≤"Z";
03400 INTIME;
03500 TVTAKE(X,Y,16,108);
03600 HEADER[2] ← 6;
03700 HEADER[5] ← Y-108;
03800 HEADER[6] ← Y+108-1;
03900 HEADER[7] ← X-144;
04000 HEADER[8] ← X+144-1;
04100 OPEN(2,"DSK",'10,0,3,0,0,0);
04200 ENTER(2,STR&".DAT",FLG);
04300 ARRYOUT(2,HEADER[0],10);
04400 ARRYOUT(2,TVBUF[1],10368);
04500 RELEASE(2);
04600 OUTIME;
04700 END "FOREVER";
04800
04900 END "TVTAKE";